Dockerfile(15)

您所在的位置:网站首页 docker run arg Dockerfile(15)

Dockerfile(15)

2024-07-10 23:03| 来源: 网络整理| 查看: 265

ARG

作用:定义创建镜像过程中使用的变量

格式: ARG [=]

详解在执行 docker build 时,可以通过 来为声明的变量赋值

--build-arg =

当镜像编译成功后,ARG 指定的变量将不再存在(ENV指定的变量将在镜像中保留)Docker内置了一些镜像创建变量,用户可以直接使用而无须声明,包括(不区分大小写)HTTP_PROXY、HTTPS_PROXY、FTP_PROXY、NO_PROXYARG 和 ENV 的区别ARG 定义的变量只会存在于镜像构建过程,启动容器后并不保留这些变量ENV 定义的变量在启动容器后仍然保留注意

不要通过 ARG 保存密码之类的信息,因为 docker history 还是可以看到所有值的

ARG 指令有生效范围

如果在 FROM 指令之前指定,那么只能用于 FROM 指令中

代码语言:javascript复制ARG DOCKER_USERNAME=library FROM ${DOCKER_USERNAME}/alpine RUN set -x ; echo ${DOCKER_USERNAME} 使用上述 Dockerfile 会发现无法输出 ${DOCKER_USERNAME} 变量的值要想正常输出,必须在 FROM 之后再次指定 ARG代码语言:javascript复制# 只在 FROM 中生效 ARG DOCKER_USERNAME=library FROM ${DOCKER_USERNAME}/alpine # 要想在 FROM 之后使用,必须再次指定 ARG DOCKER_USERNAME=library RUN set -x ; echo ${DOCKER_USERNAME}

多阶段构建的时候,ARG 定义的变量,每个 FROM 都能用

代码语言:javascript复制# 这个变量在每个 FROM 中都生效 ARG DOCKER_USERNAME=library FROM ${DOCKER_USERNAME}/alpine RUN set -x ; echo 1 FROM ${DOCKER_USERNAME}/alpine RUN set -x ; echo 2ARG 其他用法

暂时不举例了,感觉应该不会用很多

https://docs.docker.com/engine/reference/builder/#arg



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3